package com.yss.reportworld.domain.arrwrap;

import java.util.Date;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yss.common.core.annotation.ExcelValid;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.stereotype.Component;

/**
 * 报配置-报动态变量对象 rw_db_tp_rep_basic_micro_variable
 *
 * @author yss
 * @date 2023-07-14
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("rw_db_tp_rep_basic_micro_variable")
@Component("TpRepBasicMicroVariable")
public class TpRepBasicMicroVariable extends Model<TpRepBasicMicroVariable> {

    /**
     * 技术主键
     */
    @ExcelProperty( "ID")
    @TableId("ID")
    private String id;

    /**
     * 报表基本信息关联ID
     */
    @ExcelProperty( "BASIC_INFO_ID")
    @TableField("BASIC_INFO_ID")
    @ExcelValid(message = "【TP_REP_BASIC_MICRO_VARIABLE】【BASIC_INFO_ID】不能为空")
    private String basicInfoId;

    /**
     * 变量ID
     */
    @ExcelProperty( "VARIABLE_ID")
    @TableField("VARIABLE_ID")
    @ExcelValid(message = "【TP_REP_BASIC_MICRO_VARIABLE】【VARIABLE_ID】不能为空")
    private String variableId;

    /**
     * 变量名称
     */
    @ExcelProperty( "VARIABLE_NAME")
    @TableField("VARIABLE_NAME")
    @ExcelValid(message = "【TP_REP_BASIC_MICRO_VARIABLE】【VARIABLE_NAME】不能为空")
    private String variableName;

    /**
     * 数据来源类型
     */
    @ExcelProperty( "DATA_SOURCE_TYPE")
    @TableField("DATA_SOURCE_TYPE")
    @ExcelValid(message = "【TP_REP_BASIC_MICRO_VARIABLE】【DATA_SOURCE_TYPE】不能为空")
    private String dataSourceType;

    /**
     * 数据来源
     */
    @ExcelProperty( "DATA_SOURCE")
    @TableField("DATA_SOURCE")
    @ExcelValid(message = "【TP_REP_BASIC_MICRO_VARIABLE】【DATA_SOURCE】不能为空")
    private String dataSource;

    /**
     * 是否缓存（0否，1是）
     */
    @ExcelProperty( "VARIABLE_CACHE")
    @TableField("VARIABLE_CACHE")
    @ExcelValid(message = "【TP_REP_BASIC_MICRO_VARIABLE】【VARIABLE_CACHE】不能为空")
    private String variableCache;

    /**
     * 数据类型为sql结果集返回类型（0字符串，1map）
     */
    @ExcelProperty( "RESULT_DATA_TYPE")
    @TableField("RESULT_DATA_TYPE")
    @ExcelValid(message = "【TP_REP_BASIC_MICRO_VARIABLE】【RESULT_DATA_TYPE】不能为空")
    private String resultDataType;

    /**
     * 备用
     */
    @ExcelProperty( "TEST3")
    @TableField("TEST3")
    private String test3;
    /**
     * 数据编码
     */
    @ExcelIgnore
    @TableField("RW_DB_ID")
    private String rwDbId;

}
